// 商品分类模型
const { DataTypes } = require('sequelize');  // 引入 sequelize 数据类型
const sequelize = require('../../config/db');  // 导入 sequelize 实例

// 创建 Category 模型
const Category = sequelize.define('Category', {
  id: {
    type: DataTypes.INTEGER,
    primaryKey: true,
    autoIncrement: true
  },
  name: {
    type: DataTypes.STRING,
    allowNull: false
  },
  praent_id: {
    type: DataTypes.INTEGER,
    allowNull: true,
    references: {
      model: 'category', // 自关联
      key: 'id'
    }
  },
  level: {
    type: DataTypes.STRING,
    defaultValue: true
  }
}, {
  sequelize,  // 通过 sequelize 实例访问数据库
  tableName: 'category',  // 显式指定表名
  timestamps: false,   // 禁用自动时间戳
  hooks: {
    beforeUpdate: (category) => {
      category.updateTime = new Date(); // 更新时自动设置时间
    }
  }
});

// 导出 Category 模型
module.exports = Category;